﻿using System.Collections.Generic;

namespace ConfigInfoWebPlatform.Model.Model
{
    /// <summary>
    /// 获取配置信息接口返回的总类
    /// </summary>
    public class GetConfigInfoModel
    {
        /// <summary>
        /// 接口返回的结果,结果是否成功，如果错误错误信息是什么
        /// </summary>
        public Result result { get; set; }

        /// <summary>
        /// 接口返回的数据
        /// </summary>
        public Body body { get; set; }
    }

    /// <summary>
    /// 接口返回的结果类
    /// </summary>
    public class Result
    {
        /// <summary>
        /// 代码
        /// </summary>
        public string code { get; set; }

        /// <summary>
        /// 接口返回的信息
        /// </summary>
        public string message { get; set; }
    }

    /// <summary>
    /// 接口返回数据类
    /// </summary>
    public class Body
    {
        /// <summary>
        /// 配置流程信息
        /// </summary>
        //public ProcessConfig processConfig { get; set; }

        /// <summary>
        /// 模块配置信息/六大模块的配置信息
        /// </summary>
        public List<ModuleConfig> moduleConfig { get; set; } 
    }

    /// <summary>
    /// 流程配置文件信息
    /// </summary>
    public class ProcessConfig
    {
        /// <summary>
        /// 流程配置文件的文件名
        /// </summary>
        public string fileName { get; set; }

        /// <summary>
        /// 流程配置文件的路径
        /// </summary>
        public string filePath { get; set; }

        /// <summary>
        /// 流程配置文件的内容
        /// </summary>
        public string fileContent { get; set; }
    }

    /// <summary>
    /// 模块配置类，六大模块的配置信息类
    /// </summary>
    public class ModuleConfig
    {
        /// <summary>
        /// 模块在流程配置中的序号
        /// </summary>
        public string number { get; set; }

        /// <summary>
        /// 模块名称
        /// </summary>
        public string moduleName { get; set; }

        /// <summary>
        /// 是否开启机器学习
        /// </summary>
        public string mlflag { get; set; }

        /// <summary>
        /// 结构化文件内容
        /// </summary>
        public List<ModuleConfig> configDetail { get; set; }

        /// <summary>
        /// 模块的配置文件内容
        /// </summary>
        public string configContent { get; set; }

        /// <summary>
        /// 模块配置文件的执行方式，现有file，dll
        /// </summary>
        public string executeType { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string executeCode { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string code { get; set; }

        /// <summary>
        /// 文件路径
        /// </summary>
        public string filePath { get; set; }
    }
}
